package com.etc.zmall.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.etc.dao.GoodstypeMapper;
import com.etc.entity.Goodstype;
import com.etc.entity.GoodstypeExample;
import com.etc.zmall.service.GoodsTypeService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;

/**
 * 
 * <p>
 * Title: GoodsTypeServiceImpl
 * </p>
 * 
 * <p>
 * Description:
 * </p>
 * 
 * @author knowno
 * 
 * @date 2021年1月11日
 * 
 */
@Service
public class GoodsTypeServiceImpl implements GoodsTypeService {
	@Autowired
	private GoodstypeMapper goodsTypeMapper;

	@Override
	public List<Goodstype> selGoodsType() {
		List<Goodstype> list = goodsTypeMapper.selectByExample(null);
		return list;
	}

	@Override
	public boolean addGoodsType(Goodstype goodstype) {
		return goodsTypeMapper.insert(goodstype) > 0;
	}

	@Override
	public boolean modGoodsType(Goodstype record) {
		// TODO Auto-generated method stub
		return goodsTypeMapper.updateByPrimaryKey(record) > 0;
	}

	@Override
	public boolean delGoodsType(Integer typeid) {
		// TODO Auto-generated method stub
		return goodsTypeMapper.deleteByPrimaryKey(typeid) > 0;
	}

	/**
	 * (non-Javadoc)
	 * 
	 * <p>
	 * Title: selGoodsTypeBypage
	 * </p>
	 * 
	 * <p>
	 * Description:
	 * </p>
	 * 
	 * @param keywords
	 * @param pageNo
	 * @param pageSize
	 * @return
	 * 
	 * @see com.etc.zmall.service.GoodsTypeService#selGoodsTypeBypage(java.lang.String,
	 *      int, int)
	 * 
	 */
	@Override
	public PageInfo<Goodstype> selGoodsTypeBypage(int page, int limit, String keywords) {
		if (page < 1) {
			page = 1;
		}
		// 创建example对象
		GoodstypeExample example = new GoodstypeExample();
		example.createCriteria().andTypenameLike("%" + keywords + "%");

		// 分页查询
		PageHelper.startPage(page, limit);
		List<Goodstype> list = goodsTypeMapper.selectByExample(example);

		// 返回一个pageInfo对象包含了分页有关的各种属性，相当于我们以前的pageData
		PageInfo<Goodstype> pd = new PageInfo<Goodstype>(list);
		return pd;
	}

}
